greedy *800

Please click on ads to support us..

Python Code:

for _ in range(int(input())):
    word = input()
    days = 1
    memory = set()
    for l in word:
        memory.add(l)
        if len(memory) > 3:
            memory.clear()
            memory.add(l)
            days += 1
    print(days)

C++ Code:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    long long q,n,t;
    string a;
    char x,y,z;
    cin>>q;
    while(q--)
    {
        x=y=z=' ';
        t=0;
        cin>>a;
        for(int i=0;i<a.size();i++)
        {
            if(x==' '&&y==' '&&z==' ')x=a[i];
            else if(x!=' '&&y==' '&&z==' '&&a[i]!=x)y=a[i];
            else if(x!=' '&&y!=' '&&z==' '&&a[i]!=x&&a[i]!=y)z=a[i];
            else if(x!=' '&&y!=' '&&z!=' '&&a[i]!=x&&a[i]!=y&&a[i]!=z)
            {
                t++;
                z=y=' ';
                x=a[i];
            }
        }
        if(x!=' '||y!=' '||z!=' ')t++;
        cout<<t<<'\n';
    }
}


Comments

Submit
0 Comments
More Questions

553A - Kyoya and Colored Balls
1364A - XXXXX
1499B - Binary Removals
1569C - Jury Meeting
108A - Palindromic Times
46A - Ball Game
114A - Cifera
776A - A Serial Killer
25B - Phone numbers
1633C - Kill the Monster
1611A - Make Even
1030B - Vasya and Cornfield
1631A - Min Max Swap
1296B - Food Buying
133A - HQ9+
1650D - Twist the Permutation
1209A - Paint the Numbers
1234A - Equalize Prices Again
1613A - Long Comparison
1624B - Make AP
660B - Seating On Bus
405A - Gravity Flip
499B - Lecture
709A - Juicer
1358C - Celex Update
1466B - Last minute enhancements
450B - Jzzhu and Sequences
1582C - Grandma Capa Knits a Scarf
492A - Vanya and Cubes
217A - Ice Skating